Release 10.1A: OpenEdge Development:
Progress Dynamics Repository Reference


gsm_user_allocation table — gsmul

This table lists the security allocations for users and companies.

When users log into the system, they log in with a user ID and select a company (organization). This table defines the security options for users when they log into a certain organization. A user can have different security options when logged into different companies.

If the organisation_obj is 0, then the security allocation applies to all companies. Likewise, if the user_obj is 0, then the security allocation applies to all users logged into a company. User security always overrides company security.

Note: In addition, an owning_obj of 0 always indicates no access to any data for that entity mnemonic. This is not supported for security structures or menus. It is only for data.

This table generically assigns all security options for the user or company. The standard options that can be specified by the owning_entity_mnemonic and owning_obj are:

Table 16–3 lists the table’s FLA, fields, and foreign keys.

Table 16–3: gsm_user_allocation table information 
Table FLA
Fields (data type)
Foreign keys
gsmul
user_obj (Decimal)
login_organisation_obj (Decimal)
owning_entity_mnemonic (Character)
owning_obj (Decimal)
user_allocation_value1 (Character)
user_allocation_value2 (Character)
user_allocation_obj (Decimal)
user_obj

Table 16–4 gives details of the table’s indexes.

Table 16–4: gsm_user_allocation index information 
Index name
Elements
Type
XPKgsm_user_allocation
user_obj
login_organisation_obj
owning_entity_mnemonic
owning_obj
Primary Unique
XAK1gsm_user_allocation
user_allocation_obj
Unique
XIE1gsm_user_allocation
login_organisation_obj
user_obj
owning_entity_mnemonic
owning_obj
Nonunique
XIE2gsm_user_allocation
owning_entity_mnemonic
owning_obj
user_obj
login_organisation_obj
Nonunique
XIE3gsm_user_allocation
owning_entity_mnemonic
owning_obj
login_organisation_obj
user_obj
Nonunique
XIE4gsm_user_allocation
owning_obj
Nonunique

Access to any entity data can be secured using this table. For example, to secure access to specific cost center codes in a general ledger, the owning_entity_mnemonic could be the cost center table and the owning_obj used to allocate the specific cost centers to which the user or company has access.

The rules applied to this table for the entity, in order, are as follows:

  1. If security is disabled, then user security is passed.
  2. If a specific record exists for the user or company, then security is passed.
  3. If a specific record is found for the user or company with an owning_obj of 0, security is failed.
  4. If full access is not granted by default, there are no entries for the user, and there are no generic entries for all users and all companies, security is failed.
  5. If a record exists for all users or companies with an owning_obj of 0, then security is failed.
  6. If a record is found for all users, security is passed.
  7. If a record is found for all companies, security is passed.
  8. If full access is granted by default and no records are found for the specific user, all users, or all companies, then security is passed.

Some allocations require additional data. For example, allocating a field restriction needs to determine what can be done with the field, such as View, Update, or Hide.

Entries must exist in this table for all security allocations. There is no option for inclusion or exclusion to make querying as fast as possible. The maintenance programs, however, should allow the specification by inclusion or exclusion for fast data entry, then create or delete all relevant entries in this table.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095